package br.com.consignum.test.cliente;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

import br.com.consignum.annotation.Column;
import br.com.consignum.annotation.Enumerated;
import br.com.consignum.annotation.Id;
import br.com.consignum.annotation.JoinColumn;
import br.com.consignum.annotation.Sequence;
import br.com.consignum.annotation.Table;
import br.com.consignum.dao.util.TypesJDBC;
import br.com.consignum.test.filho.FilhoVO;
import br.com.consignum.test.filme.FilmeVO;

@Table(name="tb_cliente01",schema="locadora", alias="c")
public class ClienteVO implements Serializable {

	private static final long	serialVersionUID	= 1L;
	
	@JoinColumn(value="id_filho")
	private FilhoVO filho;
	
	
	@JoinColumn(value="id_filme")
	private FilmeVO filme;
	
	@Id(value="id_cliente")
	@Sequence(name="seqc_tb_cliente01",schema="locadora")
	private Long id;
	
	@Column(value="nome", alias="nome_cliente")
	private String nome;
	
	@Column("cpf")
	private String cpf;
	
	@Column("rg")
	private String rg;
	
	@Column(value="data", type=TypesJDBC.TIMESTAMP)
	private Timestamp data;

	@Enumerated("situacao")
	private EnumSituacao situacao;
	
	@Column("salario")
	private BigDecimal salario;
	
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public Timestamp getData() {
		return data;
	}

	public void setData(Timestamp data) {
		this.data = data;
	}

	public EnumSituacao getSituacao() {
		return situacao;
	}

	public void setSituacao(EnumSituacao situacao) {
		this.situacao = situacao;
	}

	public BigDecimal getSalario() {
		return salario;
	}

	public void setSalario(BigDecimal salario) {
		this.salario = salario;
	}

	public FilhoVO getFilho() {
		return filho;
	}

	public void setFilho(FilhoVO filho) {
		this.filho = filho;
	}

	public FilmeVO getFilme() {
		return filme;
	}

	public void setFilme(FilmeVO filme) {
		this.filme = filme;
	}

	
}
